jQuery.print = function(obj) {
	if (typeof(obj) == 'object') {
		var string = '{\n',
		values = [],
		counter = 0;
		
		$.each(obj, function(key, value) {
			if (value && value.nodeName) {
				var domnode = '&lt;' + value.nodeName.toLowerCase();
				domnode += value.className ? ' class="' + value.className + '"' : '';
				domnode += value.id ? ' id="' + value.id + '"' : '';
				domnode += '&gt;';
				value = domnode;
			}
			
			values[counter++] = key + ': ' + value;
		});
		
		string += values.join(',\n');
		string += '\n}';
		obj = string;
	}

	return obj;
};

$.fn.isMouseOn = function(x, y) {
	var top = $(this).offset().top;
	var left = $(this).offset().left;
	
	if (x > left && x < left + $(this).outerWidth() && y > top && y < top + $(this).outerHeight()) {
		return true;
	} else {
		return false;
	}
};


var Userbar = {
	menu : function() {
		var menu = $('#userbar_menu');
		
		var checkBodyClick = function(e) {
			if (!menu.isMouseOn(e.pageX, e.pageY)) {
				menu.hide();
				$(document).unbind('click', checkBodyClick);
			}
		};
		
		if (menu.css('display') == 'none') {
			menu.show();
			
			$(document).bind('click', checkBodyClick);
		}
	}
};